package Structures;

/**
 * Instancia Nodos para enlazarsen en la lista simple enlazada.
 * @author Jeremy
 * @author Alexandre
 * @author Gabriel
 * @author Rodrigo
 */
public class SLLNode {
    
    private Object _element; //Elemento.
    private SLLNode _succ; //Sucesor del nodo.
    
    /**
     * Crea un nuevo nodo con su dato y su enlace al nodo siguiente.
     * @param pElement Dato para el nodo
     * @param pSucc Nodo sucesor
     */
    public  SLLNode (Object pElement, SLLNode pSucc) {
        this._element = pElement;
        this._succ = pSucc;
    }
    
    ////////////////////////////Getters y setters///////////////////////////////
    /**
     * Obtiene el dato del nodo.
     * @return Elemento que contiene el nodo
     */
    public Object getElement () {
        return _element;
    }

    /**
     * Establece el elemento para el nodo
     * @param pElement Dato para el nodo de tipo nodo de grafo
     */
    public void setElement(Object pElement) {
        this._element = pElement;
    }

    /**
     * Obtiene el nodo siguiente de este nodo
     * @return Nodo siguiente
     */
    public SLLNode getSucc() {
        return _succ;
    }

    /**
     * Establece el nodo sucesor de este nodo
     * @param pSucc Nodo siguiente para establecer
     */
    public void setSucc(SLLNode pSucc) {
        this._succ = pSucc;
    }
    ////////////////////////////////////////////////////////////////////////////
}
